<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    canvas {
      margin-left: 30%;
      border: 1px solid #000000;
    }
  </style>
  <body>
    <canvas width="500" height="500" id="myCanvas"></canvas>
  </body>
  <script>
    // var c = document.getElementById('myCanvas')
    // var ctx = c.getContext('2d')
    // ctx.fillStyle = 'blue'
    // ctx.fillRect(20, 10, 75, 75)
    // ctx.fillStyle = '#FF0000'
    // ctx.moveTo(250, 0)
    // ctx.lineTo(250, 500)
    // ctx.stroke()
    // ctx.moveTo(0, 0)
    // ctx.lineTo(500, 500)
    // ctx.stroke()
    // ctx.moveTo(500, 0)
    // ctx.lineTo(0, 500)
    // ctx.stroke()
    // ctx.moveTo(0, 250)
    // ctx.lineTo(500, 250)
    // ctx.stroke()
    // 2*3.14*80
    // ctx.beginPath()
    // ctx.arc(95, 150, 80, 1.5 * Math.PI, 0.5 * Math.PI)
    // ctx.stroke()
    // 获取到画布元素
    let myCanvas = document.getElementById('myCanvas')
    // 通过画布元素获取到上下文（画笔）
    let ctx = myCanvas.getContext('2d')

    // 右边白色的半圆
    ctx.fillStyle = '#fff'
    ctx.beginPath()
    ctx.arc(300, 300, 100, (Math.PI / 180) * 270, (Math.PI / 180) * 90)
    ctx.strokeStyle = '#000'
    ctx.stroke()
    ctx.fill()

    // 左边黑色的圆
    ctx.fillStyle = '#000'
    ctx.beginPath()
    ctx.arc(300, 300, 100, (Math.PI / 180) * 270, (Math.PI / 180) * 90, true)
    ctx.strokeStyle = '#000'
    ctx.stroke()
    ctx.fill()

    // 左边白色的小圆
    ctx.fillStyle = '#fff'
    ctx.beginPath()
    ctx.arc(300, 250, 50, (Math.PI / 180) * 270, (Math.PI / 180) * 90, true)
    ctx.fill()

    // 右边黑色的小圆
    ctx.fillStyle = '#000'
    ctx.beginPath()
    ctx.arc(300, 350, 50, (Math.PI / 180) * 270, (Math.PI / 180) * 90)
    ctx.fill()

    // 黑色的小圆点
    ctx.fillStyle = '#000'
    ctx.beginPath()
    ctx.arc(300, 250, 5, 0, Math.PI * 2)
    ctx.fill()

    // 白色的小圆点
    ctx.fillStyle = '#fff'
    ctx.beginPath()
    ctx.arc(300, 350, 5, 0, Math.PI * 2)
    ctx.fill()
  </script>
</html>
